Current designs of keyboards commonly detect individual key depressions using a matrix of electrical connections organized into rows and columns, where each row and column is connected to a pin of a keyboard controller that is electrically read and/or driven by the keyboard controller. Each key switch is placed at an intersection of a row and a column, and actuation of a key switch by a corresponding key of the keyboard creates an electrical connection between that row and column. Individual key depressions are detected when signals created by the electrical connection between the rows and columns are scanned.
A “ghost” key depression may occur with this type of keyboard design when multiple keys are concurrently depressed, due to, for example, a low signal on a scanned column traveling to one or more other columns through keys depressed in those columns. In turn, the signal is transmitted through keys in those columns into a row in which no key is depressed in the scanned column, causing a row where no key is depressed on the scanned column to be at a low voltage and thus appear to have a key depressed.
Current keyboard designs may detect a potential ghost key depression through anti-ghosting algorithms. However, the signal output of the algorithms does not indicate which one(s) of the concurrently depressed keys is/are ghost key(s), if any. Therefore, current algorithms suppress reporting the current state of key depression until the potential ghost condition disappears. This may cause significant problem in computer gaming, for example where a player may be annoyed by missing keystrokes caused by suppression of key depression reporting by an anti-ghosting algorithm when multiple keys are depressed to perform multiple concurrent actions, resulting in decreased player satisfaction in gaming.